Program RFEM 6 pro statické výpočty tvoří základ modulárního softwarového systému. Hlavní program RFEM 6 slouží k zadávání konstrukcí, materiálů a zatížení u rovinných i prostorových konstrukčních systémů, které se skládají z desek, stěn, skořepin a prutů. Program umožňuje vytvářet smíšené konstrukce, stejně jako modelovat tělesa a kontaktní prvky.
RSTAB 9 je výkonný program pro analýzu 3D prutových konstrukcí, který statikům pomáhá vyhovět požadavkům moderního stavebního inženýrství a odráží nejnovější trendy v oboru.
Jste často příliš dlouho zaměstnáni výpočtem průřezů? Software Dlubal a samostatný program RSECTION vám usnadní práci stanovením a analýzou napětí pro různé průřezy.
Víte vždy, odkud vítr vane? Ve směru inovace, samozřejmě! S RWIND 2 máte k dispozici program, který využívá digitální větrný tunel pro numerickou simulaci proudění větru. Program toto proudění aplikuje na libovolné geometrie budov a stanoví zatížení větrem působící na jejich povrch.
Hledáte přehled oblastí zatížení sněhem, větrem a zemětřesením? Pak jste zde správně. Mapy oblastí zatížení umožňují rychle a snadno stanovit oblasti zatížení sněhem, větrem a zemětřesením podle Eurokódu a dalších mezinárodních norem.
Chcete si vyzkoušet sílu programů Dlubal? Je to vaše příležitost! S bezplatnou 90denní plnou verzí si můžete všechny naše programy plně otestovat.
V příkladu programu jsou ukázány dva různé způsoby vytvoření uzlových podpor. U první uzlové podpory se použije výčtový typ NodalSupportType.
NodalSupportType
Případně lze ale také převádět seznam. Seznam musí obsahovat 6 hodnot. První tři hodnoty definují stupně volnosti pro posun, druhé tři stupně volnosti pro natočení.
Hodnota inf znamená, že stupeň volnosti je fixován. Při hodnotě 0 je stupeň volnosti volný. Číselná hodnota definuje tuhost pružiny.
inf
0
Natočení uzlové podpory se provádí pomocí uživatelsky definovaného souřadného systému. V následujícím příkladu je uzlová podpora natočena o 45° okolo osy z. Není přitom nutné zadávat nový souřadný systém pomocí uzlů. V tomto případě stačí použít volbu RotatedSystemType, která umožňuje prostorové natočení podpory třemi rotacemi okolo os x, y a z. Rotace se zadává v radiánech:
Sub test_nodal_support()Dim iApp As RFEM5.ApplicationSet iApp = GetObject(, "RFEM5.Application")iApp.LockLicenseDim iMod As RFEM5.IModel3Set iMod = iApp.GetActiveModelOn Error GoTo e' get interface of modeldataDim iModData As RFEM5.IModelData2Set iModData = iMod.GetModelData' get interface of nodal supportDim iNs As RFEM5.INodalSupportSet iNs = iModData.GetNodalSupport(1, AtNo)' get nodal support dataDim ns As RFEM5.NodalSupportns = iNs.GetData' modify datans.ReferenceSystem = UserDefinedSystemTypens.UserDefinedReferenceSystem.Axis1 = AxisXns.UserDefinedReferenceSystem.Axis2 = AxisYns.UserDefinedReferenceSystem.Type = RotatedSystemTypens.UserDefinedReferenceSystem.RotationAngles.X = 0ns.UserDefinedReferenceSystem.RotationAngles.Y = 0ns.UserDefinedReferenceSystem.RotationAngles.Z = 45 * 3.14159265359 / 180' set nodal support dataiModData.PrepareModificationiNs.SetData nsiModData.FinishModificatione:If Err.Number <> 0 Then MsgBox Err.description, vbCritical, Err.SourceiMod.GetApplication.UnlockLicenseSet iMod = NothingEnd Sub
Program převezme stávající uzlovou podporu z aktuálně otevřeného modelu a upraví ji. Vzhledem k tomu, že uživatelsky definovaný souřadný systém není přímou součástí rozhraní INodalSupport uzlové podpory, je samozřejmě možné při vytváření uzlové podpory přenášet také natočení.
Následující makro VBA ukazuje vytvoření uzlové podpory s diagramem nelinearity. Zdrojový kód je možné si stáhnout v sekci Stahování a informace.
Při programování pomocí rozhraní COM má uzlová podpora vlastnost 'ReferenceSystem' a 'UserDefinedReferenceSystem'. Pomocí 'ReferenceSystem' je možné definovat typ (např. "Natočený" nebo "Souřadný systém") uživatelsky definovaného souřadného systému a v závislosti na tom, jaký typ byl vybrán, je tento typ poté definován pomocí 'UserDefinedReferenceSystem'.
V následujícím příkladu byl nastaven typ "Souřadný systém" a kromě toho se vytvořil uživatelsky definovaný souřadný systém:
// create user defined coordinate systemIGuideObjects iGuide = iModel.GetGuideObjects();// delete cosy No 2UserCoordinateSystem[] csList = iGuide.GetCoordinateSystems();if (csList.Length > 1){for (int i = 0; i < csList.Length; ++i) { if (csList[i].No == 2) { iGuide.PrepareModification(); iGuide.DeleteObjects(GuideObjectType.CoordinateSystemObject, "2"); iGuide.FinishModification(); } }}// define new cosy No 2UserCoordinateSystem uCs = new UserCoordinateSystem();uCs.Name = "test";uCs.Comment = "test";uCs.No = 2;uCs.IsValid = true;uCs.Origin.X = 1;uCs.Origin.Y = 0;uCs.Origin.Z = 1;uCs.Point1.X = 2;uCs.Point1.Y = 0;uCs.Point1.Z = 1;uCs.Point2.X = 1;uCs.Point2.Y = 1;uCs.Point2.Z = 2;// set cosy No 2iGuide.PrepareModification();iGuide.SetCoordinateSystem(uCs);iGuide.FinishModification();// create nodal support with user defined cosyNodalSupport ns = new NodalSupport();ns.SupportConstantX = -1;ns.SupportConstantY = -1;ns.SupportConstantZ = -1;ns.RestraintConstantX = -1;ns.RestraintConstantY = 0;ns.RestraintConstantZ = -1;ns.Comment = "user defined cosy";ns.NodeList = "1";ns.ReferenceSystem = ReferenceSystemType.UserDefinedSystemType;ns.UserDefinedReferenceSystem.ObjectNo = 2;ns.UserDefinedReferenceSystem.Type = UserDefinedAxisSystemType.DefinedCoordinateSystemType;iModData.PrepareModification();iModData.SetNodalSupport(ns);iModData.FinishModification();
Aby bylo možné vytvořit souřadný systém, je zapotřebí rozhraní pro pomocné objekty: 'IGuideObjects'. Pomocí funkce 'DeleteObjects()' se nejdříve smaže stávající souřadný systém s číslem 2 a vytvoří se nový pomocí 'SetCoordinateSystem()'. Do úvahy je nutné vzít opět blok 'Prepare/Finish-Modification'-Block, aby bylo možné předat nový prvek.
Uzlová podpora se předává pomocí rozhraní 'IModelData'. Také zde je zapotřebí blok 'Prepare/Finish-Modification'.